home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / uasmls.arc / UASMLS.DOC < prev   
Text File  |  1986-08-12  |  3KB  |  66 lines

  1.  
  2.                UASMLS
  3.  
  4.      EVER  USE    DEBUG TO DIS-ASSEMBLE A FILE AND SIT  AROUND  FOR
  5. HOURS  DOING  A SIMETANEOUS DUMP TO THE PRINTER,  ALL  THE  WHILE
  6. WISHING YOU COULD PUT IT IN A FILE INSTEAD,  AND THEM GET DOWN TO
  7. ACTUALLY  EDITING  THE SOURCE CODE AND RE-ASSEMBLYING,    WITH  YOU
  8. CHANGES? PIPES AND FILTERS ARE THE ANSWER.
  9.  
  10.      THE  DOS MANUAL SAYS PIPES "ALLOW THE SCREEN OUTPUT  OF  ONE
  11. PROGRAM   TO   BE   USED  AS  THE
  12.   KEYBOARD  INPUT   TO     ANOTHER
  13. PROGRAM....AND PIPING IS THE CHAINING OF PROGRAMS WITH    AUTOMATIC
  14. REDIRECTION OF STANDARD INPUT AND OUTPUT."
  15.  
  16.      WELL,  EXACTLY WHAT IS STANDARD INPUT AND    OUTPUT?  KEYBOARD
  17. AND SCREEN, RESPECTIVELY. THE REDIRECTION OF STANDARD OUTPUT IS A
  18. CINCH,    JUST  TELL  DOS  TO  SEND  THE OUTPUT  TO  A  DISK  FILE.
  19. UNFORTUNATELY,    THIS KILLS THE STANDARD OUTPUT TO THE SCREEN,  SO
  20. YOU DON'T KNOW WHAT YOU ARE DOING. WORKING IN THE DARK, YOU MIGHT
  21. SAY.  THIS IS WHERE THE USE OF INPUT REDIRECTION COMES INTO PLAY,
  22. WHY NOT CREATE A SCRIPT OF DEBUG COMMANDS,  USE THAT AS  STANDARD
  23. INPUT  AND KICK BACK AND LET THE SCRIPT DO ALL THE WORK.  THIS IS
  24. HOW IT CAN BE DONE FOR CREATING A DEBUG DIS-ASSEMBLY FILE.
  25.  
  26. A>DEBUG
  27. -F CS:0100 L1000 "0"   <=== FILLS 1,000 BYTES WITH HEX "F"
  28. -Q
  29. A>DEBUG MYFILE.COM     <=== LOAD THE FILE TO BE DIS-ASSEMBLED
  30. -D               <=== DUMP  THE  FILE,   NOTE   ADDRESSES
  31.                 CONTAINING DATA, CONTINUE DUMPING
  32.                 UNTIL YOU REACH THE END OF THE FILE
  33.                 (SECTION WHEN CONTAINS CONTIGIOUS
  34.                 FFFFFF'S).
  35. -Q               <=== QUIT DEBUG
  36. A>COPY CON INFILE
  37. U ADDR1  ADDR2           <=== START AND STOP ADDRESS
  38. U ADDR3  ADDR4           <=== START AND STOP ADDRESS
  39. ETC.               <=== UNTIL ALL CODE ADDRESSES ARE SPECIFIED
  40. Q               <=== TELL DEBUG TO QUIT
  41. CTRL Z               <=== END OF FILE MARK
  42.  
  43. A>DEBUG MYFILE.COM <INFILE >OUTFILE
  44.  
  45.      THINK OF THE PIPES AS FUNNELS.  IN THIS CASE INFILE WILL  BE
  46. USED  IN LIEU OF KEYBOARD INPUT TO DEBUG.  ALL OUTPUT THAT  WOULD
  47. NORMALLY  BE  SENT TO THE SCREEN WILL BE PIPED TO A  FILE  CALLED
  48. OUTFILE.  OF  COURSE,  THE NAMES OF THESE FILES CAN BE CHANGED TO
  49. ANY FILENAME THAT YOU WOULD LIKE TO USE.
  50.  
  51.      YOU'VE  NOW  CREATED  A  FILE  WHICH  IS  IDENTICAL  TO  THE
  52. UNASSEMBLY THAT YOU WOULD NORMALLY SEE ON YOUR SCREEN. NOW RUN THE
  53. UASMLS PROGRAM. THE PROGRAM  WILL ASK FOR THE  INPUT  FILE.  ENTER
  54. OUTFILE.  WHEN    ASKED  FOR  THE  OUTPUT FILE  NAME  ENTER  A  NEW
  55. FILENAME,  USUALLY WITH A .ASM EXTENSION.  THE PROGRAM WILL  THEN
  56. READ OUTFILE,  ELIMINATE THE HEX ADDRESSES ON THE LEFT AND ASSIGN
  57. LABELS    (IN  THE FORM LN,  WHERE N = 1 - 999) FOR ALL  JUMPS  AND
  58. CALLS, AND SEND THE RESULTS TO THE NEW FILE YOU HAVE SPECIFIED.
  59.  
  60.      IF  YOU  GET AN ERROR MESSAGE "ERROR:  REFERENCED  CODE  NOT
  61. FOUND:",  IT MEANS THAT A JUMP OR CALL WAS FOUND WHICH REFERENCED
  62. AN  ADDRESS  NOT FOUND IN THE INPUT FILE.  THIS MEANS YOU  MISSED
  63. PORTIONS OF THE CODE, YOU STARTED UNASSEMBLING IN THE MIDDLE   OF
  64. AN INSTRUCTION,  OR YOU GOT INTO DATA AREAS.
  65.  
  66.